﻿namespace LazyMapper.Core
{
    public static class Mapper
    {
        static readonly MapperInstance MapperInstance = new MapperInstance();

        public static ITypeMappingSetup<TInput, TOutput> Create<TInput, TOutput>()
        {
            return MapperInstance.Create<TInput, TOutput>();
        }

        public static TOutput Map<TInput, TOutput>(TInput input)
        {
            return MapperInstance.Map<TInput, TOutput>(input);
        }

        public static TOutput Map<TInput, TOutput>(TInput input, TOutput output)
        {
            return MapperInstance.Map(input, output);
        }

        public static void Clear()
        {
            MapperInstance.Clear();
        }
    }
}